
// 包声明：该异常类属于 com.xg.customizeException 包
package com.xg.validator.exception;

// 导入标准库类
import java.util.Map;

/**
 * 自定义参数校验异常类
 *
 * 当业务对象的字段校验失败时抛出此异常，包含详细的字段错误信息。
 * 通常由 [ValidationUtil.validateAndThrowIfFail()](file://F:\Job\Workspace\validate\src\main\java\com\xg\utils\ValidationUtil.java#L15-L32)
 * 方法在发现校验错误时抛出。
 */
public class ValidationException extends RuntimeException {

    /**
     * 存储字段级别的错误信息
     *
     * key: 字段名称（如 "username"）
     * value: 错误描述（如 "不能为空" 或 "超出最大长度"）
     */
    private final Map<String, String> errors;

    /**
     * 构造函数
     *
     * @param errors 包含字段名与错误信息的映射
     */
    public ValidationException(Map<String, String> errors) {
        super("参数校验失败"); // 设置异常的通用描述信息
        this.errors = errors;
    }

    /**
     * 获取字段错误信息
     *
     * @return 字段名与错误信息的映射
     */
    public Map<String, String> getErrors() {
        return errors;
    }
}